﻿namespace 中介者模式
{
    /// <summary>
    /// 具体中介者类，实现抽象类的方法，它需要知道所有的具体同事类，并从同事接收消息，向具体同事对象发出命令
    /// </summary>
    public class ConcreteMediator: Mediator
    {
        //中介者对象需要了解所有的同事
        public ConcreteClooeague1 Colleague1 { get; set; }
        public ConcreteClooeague2 Colleague2 { get; set; }
        /// <summary>
        /// 重写发送信息的方法，根据对象来做出选择判断，通知对象
        /// </summary>
        /// <param name="message"></param>
        /// <param name="colleague"></param>
        public override void Send(string message, Colleague colleague)
        {
            if(colleague==Colleague1)
                Colleague2.Notify(message);
            else
                Colleague1.Notify(message);
        }
    }
}
